package com.it.machine.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.it.common.annotation.Excel;
import com.it.common.core.domain.BaseEntity;

/**
 * 激活码对象 activation_code
 * 
 * @author 云淡风轻
 * @date 2025-05-08
 */
public class ActivationCode extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long id;

    /** 项目ID */
    @Excel(name = "项目ID")
    private String proId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String proName;

    /** 激活码 */
    @Excel(name = "激活码")
    private String activeCode;

    /** 积分 */
    @Excel(name = "积分")
    private Long mark;

    /** 有效期类型 */
    @Excel(name = "有效期类型")
    private String validityType;

    /** 有效期值 */
    @Excel(name = "有效期值")
    private Long validityValue;

    /** 状态(0:未使用,1:已使用) */
    @Excel(name = "状态")
    private Long status;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    /** 分配的用户ID */
    @Excel(name = "分配用户ID")
    private Long allocateUserId;

    /** 分配的用户名 */
    @Excel(name = "分配用户名")
    private String allocateUserName;

    /** 项目机器码限制(0:不需要,1:需要) */
    private Integer machineRestricted;

    /** 项目最大可激活机器数量 */
    private Integer maxMachineCount;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProId(String proId) 
    {
        this.proId = proId;
    }

    public String getProId() 
    {
        return proId;
    }
    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }
    public void setActiveCode(String activeCode) 
    {
        this.activeCode = activeCode;
    }

    public String getActiveCode() 
    {
        return activeCode;
    }
    public void setMark(Long mark) 
    {
        this.mark = mark;
    }

    public Long getMark() 
    {
        return mark;
    }
    public void setValidityType(String validityType) 
    {
        this.validityType = validityType;
    }

    public String getValidityType() 
    {
        return validityType;
    }
    public void setValidityValue(Long validityValue) 
    {
        this.validityValue = validityValue;
    }

    public Long getValidityValue() 
    {
        return validityValue;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setNote(String note)
    {
        this.note = note;
    }

    public String getNote()
    {
        return note;
    }
    
    public void setMachineRestricted(Integer machineRestricted)
    {
        this.machineRestricted = machineRestricted;
    }

    public Integer getMachineRestricted()
    {
        return machineRestricted;
    }
    
    public void setMaxMachineCount(Integer maxMachineCount)
    {
        this.maxMachineCount = maxMachineCount;
    }

    public Integer getMaxMachineCount()
    {
        return maxMachineCount;
    }
    
    public void setAllocateUserId(Long allocateUserId)
    {
        this.allocateUserId = allocateUserId;
    }

    public Long getAllocateUserId()
    {
        return allocateUserId;
    }

    public void setAllocateUserName(String allocateUserName)
    {
        this.allocateUserName = allocateUserName;
    }

    public String getAllocateUserName()
    {
        return allocateUserName;
    }
    
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("proId", getProId())
            .append("proName", getProName())
            .append("activeCode", getActiveCode())
            .append("createTime", getCreateTime())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("mark", getMark())
            .append("validityType", getValidityType())
            .append("validityValue", getValidityValue())
            .append("note", getNote())
            .append("allocateUserId", getAllocateUserId())
            .append("allocateUserName", getAllocateUserName())
            .append("machineRestricted", getMachineRestricted())
            .append("maxMachineCount", getMaxMachineCount())
            .toString();
    }
}